package com.hw.backapi.service;

import com.hw.model.common.PageInfo;
import com.hw.model.dto.doctor.DetailQueryDTO;
import com.hw.model.dto.doctor.DoctorAuthDTO;
import com.hw.model.dto.doctor.DoctorDelDTO;
import com.hw.model.dto.doctor.DoctorSaveDTO;
import com.hw.model.dto.doctor.DoctorUpdateDTO;
import com.hw.model.vo.doctor.DoctorListVO;
import com.hw.model.vo.doctor.DoctorPhoneListVO;

import java.util.List;

/**
 * @author lipeng
 * @description 医生service
 * @date 2023/3/8 13:21
 */
public interface DoctorService {
    /**
     * @descrition 医生明细列表
     * @author lipeng
     * @date 2023/3/8
     * @param detailQueryDTO
     * @return java.lang.Object
     */
    PageInfo<DoctorListVO> detailListPage(DetailQueryDTO detailQueryDTO);

    /**
     * @descrition 医生手机号列表
     * @author lipeng
     * @date 2023/3/8
     * @param detailQueryDTO
     * @return java.lang.Object
     */
    List<DoctorPhoneListVO> detailPhoneList(DetailQueryDTO detailQueryDTO);

    /**
     * @descrition 添加医生
     * @author lipeng
     * @date 2023/3/9
     * @param doctorSaveDTO
     * @return void
     */
    void addDoctor(DoctorSaveDTO doctorSaveDTO);

    /**
     * @descrition 删除医生
     * @author lipeng
     * @date 2023/3/9
     * @param doctorDelDTO
     * @return void
     */
    void delDoctor(DoctorDelDTO doctorDelDTO);

    /**
     * @descrition 修改医生
     * @author lipeng
     * @date 2023/3/9
     * @param doctorUpdateDTO
     * @return void
     */
    void updateDoctor(DoctorUpdateDTO doctorUpdateDTO);

    /**
     * @descrition 授权
     * @author lipeng
     * @date 2023/3/12
     * @param doctorAuthDTO
     * @return void
     */
    void doctorAddAuth(DoctorAuthDTO doctorAuthDTO);

    /**
     * @descrition 取消授权
     * @author lipeng
     * @date 2023/3/12
     * @param doctorAuthDTO
     * @return void
     */
    void doctorCancelAuth(DoctorAuthDTO doctorAuthDTO);
}
